package main

import (
	"fmt"
)

func myPrint(a [5]int) {
	fmt.Printf("len=%d cap=%d v=%v \n", len(a), cap(a), a)
}

func main() {
	// 创建一个指定长度的数组
	var arr1 [5]int
	myPrint(arr1)
	// 创建一个指定的长度的数组，并为这个数组赋初值
	var arr2 = [5]int{1, 2, 3, 4, 5}
	myPrint(arr2)
	// 床建一个数组，后面再赋值
	var arr3 [5]int
	arr3 = [5]int{6, 7, 8, 9, 10}
	myPrint(arr3)
	// 创建一个不指定长度的数组
	var arr4 = [...]int{1, 3, 5, 7, 9, 11}
	// myPrint(arr4)  //错误的传入方式，因为定义的函数已经确定了只能上传长度为5的int数组
	fmt.Println(arr4)
	// 创建多维数组
	var arr5 = [3][3]int{
		{1, 2, 3},
		{4, 5, 6},
		{7, 8, 9},
	}
	fmt.Printf("len=%d cap=%d v=%v \n", len(arr5), cap(arr5), arr5)
}
